package aplicacion;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

import excepciones.ExcepcionAgendaVacia;
import excepciones.ExcepcionEntradaNoEncontrada;
import excepciones.ExcepcionPosicionNoValida;

public class Agenda {
    public List<Entrada> entradas;
 
    public Agenda() {
	entradas = new ArrayList<Entrada>();
    }

    public void anyadir(Entrada e) {
	entradas.add(e);
    }
    
    public Entrada buscar(String nombre) throws ExcepcionEntradaNoEncontrada {
	for(Entrada e:entradas) {
	    if(nombre.equalsIgnoreCase(e.getNombre())) {
		return e;
	    }
	}
	throw new ExcepcionEntradaNoEncontrada("Nombre no encontrado");
    }
    
    public Entrada buscarPorIndice(int indice) throws ExcepcionPosicionNoValida {
	if(indice >= 0 && indice < entradas.size()) {
	    return entradas.get(indice);
	}
	else {
	    throw new ExcepcionPosicionNoValida();
	}
    }

    public List<Entrada> listar() throws ExcepcionAgendaVacia {
	if (entradas.isEmpty()) throw new ExcepcionAgendaVacia();
	return entradas;	    
    }
}
